| commit | 8e207ff305b5c7daad5b930a450f7ac053b1171a | [log] [tgz] |
|---|---|---|
| author | Mason Freed <masonfreed@chromium.org> | Tue Mar 26 00:34:39 2019 |
| committer | Blink WPT Bot <blink-w3c-test-autoroller@chromium.org> | Tue Mar 26 00:40:01 2019 |
| tree | 8ca64e2b4b859b997c24acc70e3a2bb5cf05c7fd | |
| parent | ea7981d4c3eb888bcc3d19b0270937c06b92e4f6 [diff] [blame] |
Fix the lack of damage tracking for root layer position changes in BGPT. Previous to this CL, if the position of a layer changed, and that layer was the root layer targeting a render surface, the old location of the surface was not damaged in the *parent* render surface. With BGPT disabled, this was masked by transform_changed being set at [1], which triggered the conditional at [2] and caused the old location to be damaged. With BGPT enabled, transform_changed is never set. The new logic here detects LayerPropertyChangedNotFromPropertyTrees() for a root layer, and triggers the conditional at [2]. [1] https://cs.chromium.org/chromium/src/cc/layers/layer.cc?rcl=4b6a562c7bde8700fe66eda5d3f65b3e48750ef2&l=758 [2] https://cs.chromium.org/chromium/src/cc/trees/damage_tracker.cc?rcl=8c9c36220d67ee9ea6a4d830b7020cceb52e5aeb&l=449 Bug: 939282 Change-Id: I946c1d85baf7096ef6199efc811cafe55798d930 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1533176 Commit-Queue: Mason Freed <masonfreed@chromium.org> Commit-Queue: enne <enne@chromium.org> Reviewed-by: enne <enne@chromium.org> Reviewed-by: Chris Harrelson <chrishtr@chromium.org> Auto-Submit: Mason Freed <masonfreed@chromium.org> Cr-Commit-Position: refs/heads/master@{#644099}
diff --git a/lifecycle/set-composited-layer-position-ref.html b/lifecycle/set-composited-layer-position-ref.html new file mode 100644 index 0000000..217edfa --- /dev/null +++ b/lifecycle/set-composited-layer-position-ref.html
@@ -0,0 +1,18 @@ +<!DOCTYPE html> + +<meta charset="utf-8"> +<title>Setting composited layer position paints properly</title> +<link rel="author" title="Mason Freed" href="masonfreed@chromium.org"> + + + +<div id="box"></div> +<style> +div { + position: absolute; + top: 0; + left: 0; + width: 200px; + height: 200px; + background: green; +}